<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
	<META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=windows-1252">
	<TITLE></TITLE>
	<META NAME="GENERATOR" CONTENT="BrOffice.org 2.4  (Win32)">
	<META NAME="AUTHOR" CONTENT="Karina Kieling">
	<META NAME="CREATED" CONTENT="20081004;11470300">
	<META NAME="CHANGEDBY" CONTENT="Karina Kieling">
	<META NAME="CHANGED" CONTENT="20081101;21344271">
	<STYLE TYPE="text/css">
	<!--
		@page { margin: 2cm }
		P { margin-bottom: 0.21cm }
		P.western { so-language: pt-BR }
	-->
	</STYLE>
</HEAD>
<BODY LANG="pt-BR" DIR="LTR">
<P STYLE="margin-bottom: 0cm; font-weight: medium; line-height: 150%">
</P>
<P STYLE="margin-bottom: 0cm; font-weight: medium; line-height: 150%">
</P>
<P STYLE="margin-bottom: 0cm; font-weight: medium; line-height: 150%">
<B>AN&Aacute;LISE SINT&Aacute;TICA</B></P>
<P CLASS="western"><BR><BR>
</P>
<P CLASS="western" ALIGN=JUSTIFY STYLE="line-height: 150%">	A an&aacute;lise
sint&aacute;tica tem como fun&ccedil;&atilde;o verificar se a
constru&ccedil;&atilde;o usadas no programa est&atilde;o
gramaticalmente corretas (PRICE; TOSCANI, 2001). O analisador
sint&aacute;tico recebe as cadeias de <A HREF="token.html">tokens</A>
vindo do <A HREF="analise_lexica.html">analisador l&eacute;xico</A>,
faz a verifica&ccedil;&atilde;o se a mesma pode ser gerada pela
<A HREF="gramatica.html">gram&aacute;tica</A> e o analisador
sint&aacute;tico detecta erros de sintaxe se existirem (AHO; SETHI;
ULMANN, 1995). 
</P>
<P CLASS="western" ALIGN=JUSTIFY STYLE="margin-bottom: 0cm; line-height: 150%">
	O resultado da an&aacute;lise sint&aacute;tica geralmente &eacute;
representado como uma &aacute;rvore sint&aacute;tica. Como por
exemplo, no caso da cadeia de tokens &ldquo;soma := soma + valor&rdquo;.
Considerando que 'soma' e 'valor' sejam considerados &lt;variavel&gt;
da gram&aacute;tica apresentada, resultaria na seguinte &aacute;rvore:</P>
<P CLASS="western" ALIGN=JUSTIFY STYLE="margin-bottom: 0cm; line-height: 150%">
<BR>
</P>
<P CLASS="western" ALIGN=CENTER STYLE="margin-bottom: 0cm; line-height: 150%">
<SPAN ID="Quadro10" DIR="LTR" STYLE="float: left; width: 13.52cm; height: 6.39cm; border: none; padding: 0cm; background: #ffffff">
	<P STYLE="margin-bottom: 0cm; font-style: normal"><IMG SRC="analise_sintatica_html_m71646fec.png" NAME="figura10" ALIGN=BOTTOM WIDTH=506 HEIGHT=207 BORDER=0><FONT FACE="Times, serif"><FONT SIZE=2>Figura
	1: &aacute;rvore sint&aacute;tica</FONT></FONT></P>
	<P STYLE="margin-bottom: 0cm; font-style: normal"><FONT FACE="Times, serif"><FONT SIZE=2>Fonte:
	autor</FONT></FONT></P>
	<P STYLE="margin-bottom: 0cm; font-style: normal"><BR>
	</P>
</SPAN><BR CLEAR=LEFT><BR>
</P>
<P STYLE="margin-bottom: 0cm; line-height: 150%"><B>M&eacute;todos de
an&aacute;lise sint&aacute;tica</B></P>
<P CLASS="western"><BR><BR>
</P>
<P CLASS="western" ALIGN=JUSTIFY STYLE="line-height: 150%">	A an&aacute;lise
sint&aacute;tica existem alguns m&eacute;todos, como o algoritmo de
Cocke-Younger-Kasami e o de Earley, mas estes s&atilde;o ineficientes
para se usar num compilador de produ&ccedil;&atilde;o e as mais
utilizadas s&atilde;o as formas <A HREF="analisador%20ascendente.html">Ascendentes</A>
(Top-down) e <A HREF="analisador%20descendentes.html">Descendentes</A>
(Bottom-up). Os analisadores sint&aacute;ticos Ascendente constroem
&aacute;rvores do topo (raiz) para o fundo (folha). J&aacute; os
analisadores Descendentes come&ccedil;a pela folhas e trabalham
&aacute;rvores acima at&eacute; a raiz (AHO; SETHI; ULMANN, 1995).</P>
<P CLASS="western" ALIGN=JUSTIFY STYLE="line-height: 150%"><BR><BR>
</P>
<P CLASS="western" ALIGN=JUSTIFY STYLE="line-height: 150%"><BR><BR>
</P>
<P CLASS="western" ALIGN=JUSTIFY STYLE="margin-bottom: 0cm; line-height: 150%">
<IMG SRC="analise_sintatica_html_m637a0871.gif" ALIGN=MIDDLE> <A HREF="Indice.html">Voltar
&Iacute;ndice</A></P>
<P CLASS="western" ALIGN=JUSTIFY STYLE="margin-bottom: 0cm; line-height: 150%">
<BR>
</P>
<P CLASS="western" ALIGN=JUSTIFY STYLE="margin-bottom: 0cm; line-height: 150%">
<BR>
</P>
</BODY>
</HTML>